home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
memory
/
umbmem.zip
/
UMBHELP.ASM
< prev
next >
Wrap
Assembly Source File
|
1991-07-07
|
881b
|
56 lines
.model small, pascal
.data?
xmm_driver dd byte ptr 0
.code
; int umb_init(void);
UMB_INIT proc
mov ax, 4300h
int 2fh
cmp al, 80h
mov ax, -1
jne @f
mov ax, 4310h
int 2fh
mov word ptr [xmm_driver], bx
mov word ptr [xmm_driver+2], es
xor ax, ax
@@:
ret
UMB_INIT endp
; int umb_allocate(int Size, unsigned * pHandle, unsigned * pSize);
UMB_ALLOCATE proc uses si, iSize:word, pHandle:ptr word, pSize:ptr word
mov ah, 10h
xor bx, bx
mov dx, iSize
call xmm_driver
mov si, pSize
mov [si], dx
cmp ax, 1
jne @f
mov si, pHandle
mov [si], bx
xor bx, bx
@@:
mov ax, bx
ret
UMB_ALLOCATE endp
; int umb_free(unsigned uHandle);
UMB_FREE proc uHandle:word
mov ah, 11h
mov dx, uHandle
call xmm_driver
cmp ax, 1
jne @f
xor bx, bx
@@:
mov al, bl
ret
UMB_FREE endp
end